This invention relates generally to digital computers and particularly to a method for transferring data in such computers using a graphical user interface (GUI) and a system for performing such a method.
Conventionally a digital computer operates under the control of an operating system (OS) which is a program loaded when the machine is initially switched on and which controls all operations thereafter and particularly operations involving the transfer of data between various applications run on the computer.
While in the past operating systems have performed such operations in response to explicit commands in predetermined text formats it is increasingly common for an operating system to present to a user a graphical user interface in which symbols, or icons, are displayed on the screen to represent the various objects accessible to the user. In a typical operating system, for example the IBM OS/2 operating system, an object can be a file or folder storing information, a particular application such as a word processor or a device such as a printer.
Access to the various objects is provided by using a pointing device, typically a so called mouse, which can be traversed across a tracking pad to cause a pointer to move around the display screen. When the pointer is placed on a desired object a button may be pressed on the mouse to select that object causing for example execution of a program in the case of an application or the presentation of data in the case of a folder or file. Further, data and other objects may be moved from one application to another by a process known as xe2x80x9cdragging and droppingxe2x80x9d in which pressure on a button on the mouse is maintained while the mouse is traversed from one object to another.
U.S. Pat. No. 5,548,702 solves the problem of how to drag and drop an object onto an area of a window which is currently off the edge of the display. Moving the dragged icon to the displayed window edge causes automatic scrolling of the window edge until the drop area is eventually displayed.
An operating system presenting a graphical user interface will normally permit a user to run more than one application at a time in a window which is opened on the screen. Also whenever any object is opened by a user a corresponding window is opened to display the contents of that object. Thus at any one time the screen of the display will be showing simultaneously many windows relating to the various objects that are open. Since space on the screen is limited these windows will be layered one on top of the other with only the current layer being clearly visible to the user, the remainder being wholly or partially obscured. Should a user wish to transfer data or other information between applications using the xe2x80x9cdrag and dropxe2x80x9d technique a problem arises in locating a target icon which may be in any one of the obscured layers.
A partial solution to this problem is shown in EP 0514307 in which partly obscured windows are surfaced to the top of the display when the dragged icon is positioned over an exposed portion of the window. It is still necessary, however, for this invention to work, that some of the obscured window should be visible.
It is also known to provide layer selection representations such as buttons, notebook page tabs, page turners and the like to allow the user to scan through the various layers using point and select operations which cause selected layers to be displayed. This is inconvenient in that it requires a separate operation from that selecting an icon for xe2x80x9cdragging and droppingxe2x80x9d . Such systems may not even permit an icon to be transferred between selected layers.
Two articles which address the problems of accessing hidden information in a graphical user interface are xe2x80x9cGraphical Technique to Access Hidden Informationxe2x80x9d (Anon Research Disclosure No 30074, April 1989) and xe2x80x9c3-D Scroll Barxe2x80x9d (Anon Research Disclosure No 30036, April 1989). The first shows a xe2x80x9cprismxe2x80x9d icon which when placed next to an object causes the display in an adjacent window of the next layer of information about the object. The second article facilitates control of movement between layers. Neither article specifically enables objects to be dragged from one layer and dropped into another.
It is accordingly an object of the present invention to provide an improved method and system for transferring data in a computer presenting a graphical user interface.
According to the invention there is provided a method of transferring data between layered windows presented by a graphical user interface in a digital computer, comprising the steps of selecting a source icon in one layer representing a data object using a pointing device and xe2x80x9cdragging and droppingxe2x80x9d said icon into another layer, said method being characterised by positioning the source icon on a layer select icon, such positioning causing successive layers of said windows to be presented to the user; and, in response to user selection of a particular layer for transfer by operation of said pointing device and user dragging and dropping of said source icon onto a target object in the selected layer by operation of said pointing device, causing data transfer to be performed to said target object.
There is further provided a system for controlling the transfer of data between objects presented on different layers of a graphical user interface in a digital computer by selecting a source icon representing a source object using a pointing device and dragging and dropping such icon on a target object, characterised by means for generating and displaying a layer select icon so positioned on said interface as to be visible whenever any layer is displayed thereon and sequencing means responsive to positioning of said source icon on said layer select icon by said pointing device to initiate successive presentation of said different layers to permit selection of a target object in a layer so presented.
In order to ensure that the layer select icon is visible whenever any layer is presented, it may conveniently be displayed in the same position in each layer. Alternatively it may be displayed in a reserved position on the screen which cannot be overlaid.
To prevent inadvertent initiation of the layer select operation a time delay may be included before such operation starts. Similarly an appropriate time delay may be provided between successive presentations of the layers to enable an operator to determine whether the required target icon is in a displayed layer.
In a preferred embodiment of the invention the layer select icon is in the form of a tunnel, the aperture of which is divided into two zones. Depending on whether the source icon is positioned on one or other of the two zones the layers are cycled forwards or backwards, the speed of cycling depending on the positioning of the icon within the zone.